//////////////////////////////////////////////////////////////////////////

#ifndef _SERIALIZABLE_H_
#define _SERIALIZABLE_H_

//////////////////////////////////////////////////////////////////////////

class Saver;

//////////////////////////////////////////////////////////////////////////


/** This is a base class for all serializable objects
*
*
*  @author   Roman Pasechnik
*  @since    Dec 05th, 2009
*  @updated  Dec 05th, 2009
*/
class Serializable
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Accept saver, that serializes the object into buffer */
    virtual void AcceptSaver( Saver& _saver ) const = 0;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////

